// pages/house/house.js
var common = require('../../utils/common.js');
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabnav: {},  //顶部选项卡数据7
    showtab: 0,  //顶部选项卡索引
    isAddRooms: true,//添加房间或批量添加
    roomsConf: [],//房间配置
    isLogin: app.globalData.isLogin,//登录判断
    listDatas: [],//房源数据

    imgPaths: [],//图片地址
    houseindex: 0,//房源选择
    floorList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],//楼层
    floorindex: 0,//楼层
    roomsunList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],//房间总数
    roomsunindex: 0,//房间总数下标
    roomTypeList: [],//户型
    roomtypeindex: 0,//选择户型下标
    payTypeList: [],//付款方式列表
    paytypeindex: 0,//付款方式下标
    prefix:"",//批量前缀
  },
  setTab: function (e) { //设置选项卡选中索引
    const edata = e.currentTarget.dataset;
    this.setData({
      showtab: edata.tabindex,
      // showtabtype: edata.type,
      // questions: !edata.type ? this.data.questionsall : this.data.questionsall.filter(l => l.type === edata.type),
      // showquestionindex: this.data.showtab == edata.tabindex ? this.data.showquestionindex : null
    })
  },
  houseItemClick: function (e) {
    var houseId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../roomsList/roomsList?house_id=' + houseId
    })
  },
  toLogin: function () {
    app.toLogin();
  },
  addHouseClick: function () {
    wx.navigateTo({
      url: '../addHouse/addHouse',
    })
  },

  //获取户型
  // getRoomsType: function () {
  //   var that = this;
  //   wx.request({
  //     url: app.globalData.url + '/wx/dict/list',
  //     data: {
  //       key: 'HUXING',
  //     },
  //     success: function (res) {
  //       if (res.data.success) {
  //         that.setData({
  //           roomTypeList: res.data.data,
  //         })
  //       } else {
  //         wx.showModal({
  //           title: '提示',
  //           content: 'res.data.msg',
  //           showCancel: false,
  //         })
  //       }
  //     },
  //     fail: function () {
  //       wx.showModal({
  //         title: '提示',
  //         content: '网络异常',
  //         showCancel: false,
  //       })
  //     }
  //   })
  // },
  //户型选择
  // roomsTypeChabge: function (e) {
  //   console.log('picker发送选择改变，携带值为', e.detail.value);
  //   this.setData({
  //     roomtypeindex: e.detail.value,
  //   })
  // },
  // // 楼层选择
  // floorChange: function (e) {
  //   this.setData({
  //     floorindex: e.detail.value,
  //   })

  // },
  // //房间总数选择
  // roomsunChange: function (e) {
  //   this.setData({
  //     roomsunindex: e.detail.value,
  //   })

  // },

  // //获取付款方式
  // getPayType: function () {
  //   var that = this;
  //   wx.request({
  //     url: app.globalData.url + '/wx/dict/list',
  //     data: {
  //       key: 'CHARGEMODE',
  //     },
  //     success: function (res) {
  //       if (res.data.success) {
  //         that.setData({
  //           payTypeList: res.data.data,
  //         })
  //       } else {
  //         wx.showModal({
  //           title: '提示',
  //           content: 'res.data.msg',
  //           showCancel: false,
  //         })
  //       }

  //     },
  //     fail: function () {

  //     }
  //   })
  // },
  //付款方式选择
  // payTypeChabge: function (e) {
  //   this.setData({
  //     paytypeindex: e.detail.value,
  //   })
  // },
  // //房源选择
  // houseTypeChabge: function (e) {
  //   this.setData({
  //     houseindex: e.detail.value,
  //   })
  // },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      tabnav: {
        tabnum: 2,
        tabitem: [
          {
            "id": 0,
            "type": "",
            "text": "我的房源"
          },
          {
            "id": 1,
            "type": "A",
            "text": "添加房源"
          }
        ]
      },
      uploadimgs: []
    })


  },
  switchChange: function (options) {
    this.setData({
      isAddRooms: !this.data.isAddRooms,
    })
  },
  //初始化数据
  initData: function () {
    //如果没有登录直接返回
    var that = this;
    if (!app.globalData.isLogin) return;
    wx.request({
      url: app.globalData.url + '/wx/house/houselist',
      header: {
        'token': wx.getStorageSync('token'),
      },
      success: function (res) {
        wx.stopPullDownRefresh()
        console.log(res.data);
        if (!res.data.success) {
          wx.showModal({
            title: ' 提示',
            content: res.data.msg,
            showCancel: false,
          })
        } else {
          that.setData({
            listDatas: res.data.data.list,
          })
        }
      },
      fail: function () {
        wx.stopPullDownRefresh()
        wx.showToast({
          title: '网络异常',
        })
      },
    })
  },
  //点击修改
  modifyClick: function (e) {
    var id = e.currentTarget.dataset.id;
    // // var index = e.target.dataset.index;
    console.log(id);
    wx.setStorageSync('houseid', id)
    wx.navigateTo({
      url: '../addHouse/addHouse',
    })
  },
  //点击添加房间配置
  addConfigClick: function () {
    wx.navigateTo({
      url: '../addConfig/addConfig',
    })
  },
  //点击删除房间配置
  deleteConfigClick: function (e) {
    var idx = e.target.dataset.index;
    console.log(idx)
    var conf = this.data.roomsConf;
    conf.splice(idx, 1)
    console.log(conf)
    this.setData({
      roomsConf: conf,
    })
  },
  //添加普通图片
  addimgClick: function () {
    var that = this;
    wx.chooseImage({
      count: 5, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths
        console.log(tempFilePaths)
        that.setData({
          imgPaths: tempFilePaths,
        })
      }
    })
  },
  //预览图片
  ckimg: function (e) {
    var url = [];
    url.push(e.target.dataset.url);
    wx.previewImage({
      current: '', // 当前显示图片的http链接
      urls: url // 需要预览的图片http链接列表
    })
  },
  //房名输入框
  roomcodeInput: function (e) {
    this.setData({
      roomcode: e.detail.value
    })
  },
  // //房名输入框
  // roomcodeInput: function (e) {
  //   this.setData({
  //     roomcode: e.detail.value
  //   })
  // },
  //面积输入框
  areaInput: function (e) {
    this.setData({
      area: e.detail.value
    })
  },
  //租金输入框
  priceInput: function (e) {
    this.setData({
      price: e.detail.value
    })
  },
  //备注输入框
  descriptionInput: function (e) {
    this.setData({
      description: e.detail.value
    })
  },
  //房间前缀输入框
  prefixInput: function (e) {
    this.setData({
      prefix: e.detail.value
    })
    console.log(this.data.prefix)
  },
  //添加房子数据
  getAddRoomData: function () {
    var data = {
      houseId: this.data.listDatas[this.data.houseindex].houseId,//房屋ID
      floorName: this.data.floorList[this.data.floorindex],//所在楼层
      roomcode: this.data.roomcode,//房号
      area: this.data.area,//面积
      houseType: this.data.roomTypeList[this.data.roomtypeindex].key,//户型
      price: this.data.price,//租金
      chargemode: this.data.payTypeList[this.data.paytypeindex].key,//付款方式
      furniture: JSON.stringify(this.data.roomsConf),//房间配置
      description: this.data.description,//备注
    }
    return data;
  },
  //批量添加房子数据
  getBatchAddRoomData: function () {
    var data = {
      houseId: this.data.listDatas[this.data.houseindex].houseId,//房屋ID
      floorNum: this.data.floorList[this.data.floorindex],//楼层总数
      roomNum: this.data.roomsunList[this.data.roomsunindex],//楼层总数
      prefix: this.data.prefix,//前缀
      furniture: JSON.stringify(this.data.roomsConf),//房间配置
    }
    return data;
  },
  //提交图片
  submitImg:function(id){
    // wx.showLoading({
    //   title: '提交图片中...',
    // })
    var that = this;
    var index=0;//用于标记上传成功了多少张图片  目前暂未使用
    for ( var i=0;i< that.data.imgPaths.length;i++){
      wx.showLoading({
        title: '提交图片中...',
      })
      wx.uploadFile({
        url: app.globalData.url + '/wx/room/savepic',
        // that.data.imgPaths[0] 
        filePath: that.data.imgPaths[i],
        name: 'files',
        formData: {
          roomId: id,
        },
        header: {
          'token': wx.getStorageSync('token'),
        },
        success: function (res) {
          wx.hideLoading();
          var result = JSON.parse(res.data);
          console.log(result)
          if (result.success){
            index++;
            console.log(index)
            wx.showModal({
              title: '提示',
              content: '保存成功',
            });
            //保存成功 刷新房源列表
            that.refreshHouse();
          }else{
            wx.showToast({
              title: result.msg,
              image: '../../image/shibai.png',
            })
          }
        },

      })
    }
    // wx.hideLoading();
    // wx.showModal({
    //   title: '提示',
    //   content: '保存完成',
    // })
    
  },
  //提交数据
  submit: function () {
   
    var that = this;
    //添加房间
    if (this.data.isAddRooms) {
     
      var datar = this.getAddRoomData();
      common._get('/wx/room/save', datar,
        //成功
        function (res) {
          if (res.data.success) {
            if (that.data.imgPaths.length > 0){
              that.submitImg(res.data.data.roomId);
           }else{
             wx.showToast({
               title: '保存成功',
             })
             //保存成功 刷新房源列表
             that.refreshHouse();
           }
            
          }
        });
      //
      // wx.request({
      //   url: app.globalData.url + '/wx/room/save',
      //   header: {
      //     'token': wx.getStorageSync('token'),
      //   },
      //   method: "GET",
      //   data: datar,
      //   success: function (res) {
      //     wx.hideLoading();
      //     console.log(res.data)
      //     if (res.data.success){
      //       that.submitImg(res.data.data.roomId);
      //     }else{
      //       wx.showToast({
      //         title: res.data.msg,
      //         image: '../../image/shibai.png',
      //       })
      //       //登录超时
      //       app.timeOutLogin(res);
      //     }

      //   }
      // })
      //批量添加
    } else {
      var datar = this.getBatchAddRoomData();
      console.log(datar);
      common._get('/wx/room/batchsave', datar,
      //成功
        function (res) {
          if (res.data.success){
              wx.showToast({
                title: res.data.msg,
              })
              //保存成功 刷新房源列表
              that.refreshHouse();
         }
        });
    }
  },
  //刷新房源
  refreshHouse:function(){
    this.setData({
      // showtab: 0,  //顶部选项卡索引
      listDatas: [],
    })
    this.initData();
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    //获取房源列表
    this.initData();
    //获取户型列表
    // this.getRoomsType();
    // 付款方式
    // this.getPayType();
  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //判断登录状态
    this.setData({
      isLogin: app.globalData.isLogin
    })
    //判断是否已经存在数据 不存在给数据更新
    if (this.data.listDatas.length < 1) {
      this.initData();
    }
    //监听添加房源返回是否成功  成功列表
    var addhouse = wx.getStorageSync('result');
    wx.removeStorageSync('result');
    var houseRefresh = wx.getStorageSync('houseRefresh');
    wx.removeStorageSync('houseRefresh');
    if (addhouse || houseRefresh) {
      this.refreshHouse();
      app.removeRefresh();
    }
    //添加房间配置返回
    // var addConfig = wx.getStorageSync('addconfig');
    // wx.removeStorageSync('addconfig')
    // if (addConfig) {
    //   addConfig = addConfig.concat(this.data.roomsConf)
    //   this.setData({
    //     roomsConf: addConfig,
    //   })
    //   console.log(this.data.roomsConf)
    // }
    // this.initData();
  },


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.refreshHouse();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})